package com.sudo.service.admin.service;

import com.sudo.common.task.TaskMethod;
import com.sudo.common.task.TaskParam;
import com.sudo.common.utils.PagedGridResult;
import com.sudo.dao.admin.entity.SysServerNode;
import com.sudo.dao.admin.entity.SysServerNodeTask;
import com.sudo.dao.admin.model.bo.SysServerBeanMethodBO;
import com.sudo.dao.admin.model.bo.SysServerNodeTaskBO;
import com.sudo.rpc.api.model.RegistryServer;

import java.util.List;
import java.util.Map;

public interface SysServerNodeTaskService {
    void deleteAndSaveServerNodeTask(String server, RegistryServer registryServer);

    Map<String,Map<String, Map<String, TaskMethod>>> getServerNodeTaskMap();

    List<TaskParam> getTaskParamList(SysServerBeanMethodBO sysServerBeanMethodBO);

    SysServerNodeTask getSysServerNodeTask(String server, String beanName, String methodName);

    int analysisAndSaveServerNodeTask(SysServerNode serverNode, Object data);

    PagedGridResult querySysServerNodeTaskByPage(SysServerNodeTaskBO sysServerNodeTaskBO);
}
